﻿
using RecipeMLSchema.Schema;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace RecipeMLSchema.Test
{
	/// <summary>
	/// This test class should contain all the tests necessary to prove
	/// that this class is functioning well.
	/// </summary>
	//[TestFixture]
	public class RecipeSchemaTest
	{
		private string _customTestDataPath = @"..\..\CustomTestData\";
		private recipeml _recipe1;

		#region Recipe1
		/*
		[TestFixtureSetUp]
		public void TestFixtureSetUp()
		{
			_recipe1 = SerializationHelper.FromFile<recipeml>(_customTestDataPath + "Recipe1.xml");
		}

		[Test]
		public void LoadFromFile_Recipe1_LoadsRecipe()
		{
			var r = _recipe1.Item as recipe;
			Assert.IsNotNull(r);
		}

		[Test]
		public void LoadFromFile_Recipe1_LoadsRecipeProperty()
		{
			Assert.IsNotNull(_recipe1.recipe);
		}

		[Test]
		public void LoadFromFile_Recipe1_CanLoadFile()
		{
			Assert.IsNotNull(_recipe1.Item);
		}

		[Test]
		public void LoadFromFile_Recipe1_LoadsTitle()
		{
			Assert.AreEqual("ncapriata Di Fave (Fava Bean Puree with Green Beans)", _recipe1.recipe.head.title.text[0]);
		}
		 * */

		//[TestMethod]
		//public void LoadFromFile_Recipe1_LoadsCategories()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe1.xml");
		//    Assert.AreEqual<int>(r.Categories.Count, 4);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe1_LoadsYield()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe1.xml");
		//    Assert.AreEqual<int>(r.Yield, 4);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe1_LoadsIngredients()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe1.xml");
		//    Assert.AreEqual<int>(r.Ingredients.Count, 10);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe1_LoadsSteps()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe1.xml");
		//    Assert.AreEqual<int>(r.Steps.Count, 9);
		//}

		//[TestMethod]
		//public void ToString_Recipe1_GeneratesProperTitleString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe1.xml");
		//    var s = r.ToString();
		//    Assert.IsTrue(s.Contains(r.Title));
		//}

		//[TestMethod]
		//public void ToString_Recipe1_GeneratesProperStepString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe1.xml");
		//    var s = r.ToString();
		//    foreach(var step in r.Steps)
		//        Assert.IsTrue(s.Contains(step.Description));
		//}

		//[TestMethod]
		//public void ToString_Recipe1_GeneratesProperIngredientString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe1.xml");
		//    var s = r.ToString();
		//    foreach (var ing in r.Ingredients)
		//        Assert.IsTrue(s.Contains(ing.title));
		//}

		//[TestMethod]
		//public void ToXML_Recipe1_GeneratesProperTitleString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe1.xml");
		//    var s = r.ToXML();
		//    Assert.IsTrue(s.Contains("<title>" + r.Title + "</title>"));
		//}

		//[TestMethod]
		//public void ToXML_Recipe1_ReturnValueCanBeLoaded()
		//{
		//    var originalObj = new Recipe();
		//    originalObj.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe1.xml");
		//    var newObj = new Recipe();
		//    newObj.LoadFromString(originalObj.ToXML());
		//    Assert.AreEqual(originalObj.Title, newObj.Title);
		//    Assert.AreEqual(originalObj.Yield, newObj.Yield);
		//    Assert.AreEqual(originalObj.Categories.Count(), newObj.Categories.Count());
		//    Assert.AreEqual(originalObj.Ingredients.Count(), newObj.Ingredients.Count());
		//    Assert.AreEqual(originalObj.Steps.Count(), newObj.Steps.Count());
		//}



		#endregion Recipe1

		//#region Recipe2

		//[TestMethod]
		//public void LoadFromFile_Recipe2_LoadsTitle()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe2.xml");
		//    Assert.AreEqual<string>(r.Title, "Aristocrat Pickles");
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe2_LoadsCategories()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe2.xml");
		//    Assert.AreEqual<int>(r.Categories.Count, 1);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe2_LoadsYield()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe2.xml");
		//    Assert.AreEqual<int>(r.Yield, 4);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe2_LoadsIngredients()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe2.xml");
		//    Assert.AreEqual<int>(r.Ingredients.Count, 12);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe2_LoadsSteps()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe2.xml");
		//    Assert.AreEqual<int>(r.Steps.Count, 1);
		//}

		//[TestMethod]
		//public void ToString_Recipe2_GeneratesProperTitleString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe2.xml");
		//    var s = r.ToString();
		//    Assert.IsTrue(s.Contains(r.Title));
		//}

		//[TestMethod]
		//public void ToString_Recipe2_GeneratesProperStepString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe2.xml");
		//    var s = r.ToString();
		//    foreach(var step in r.Steps)
		//        Assert.IsTrue(s.Contains(step.Description));
		//}

		//[TestMethod]
		//public void ToString_Recipe2_GeneratesProperIngredientString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe2.xml");
		//    var s = r.ToString();
		//    foreach(var ing in r.Ingredients)
		//        Assert.IsTrue(s.Contains(ing.title));
		//}

		
		//[TestMethod]
		//public void ToXML_Recipe2_GeneratesProperTitleString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe2.xml");
		//    var s = r.ToXML();
		//    Assert.IsTrue(s.Contains("<title>" + r.Title + "</title>"));
		//}



		//#endregion Recipe2

		//#region Recipe3

		//[TestMethod]
		//public void LoadFromFile_Recipe3_LoadsTitle()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe3.xml");
		//    Assert.AreEqual<string>(r.Title, "'9os Style Chicken Salad");
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe3_LoadsCategories()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe3.xml");
		//    Assert.AreEqual<int>(r.Categories.Count, 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe3_LoadsYield()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe3.xml");
		//    Assert.AreEqual<int>(r.Yield, 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe3_LoadsIngredients()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe3.xml");
		//    Assert.AreEqual<int>(r.Ingredients.Count, 11);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe3_LoadsSteps()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe3.xml");
		//    Assert.AreEqual<int>(r.Steps.Count, 8);
		//}

		//[TestMethod]
		//public void ToString_Recipe3_GeneratesProperTitleString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe3.xml");
		//    var s = r.ToString();
		//    Assert.IsTrue(s.Contains(r.Title));
		//}

		//[TestMethod]
		//public void ToString_Recipe3_GeneratesProperStepString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe3.xml");
		//    var s = r.ToString();
		//    foreach(var step in r.Steps)
		//        Assert.IsTrue(s.Contains(step.Description));
		//}

		//[TestMethod]
		//public void ToString_Recipe3_GeneratesProperIngredientString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe3.xml");
		//    var s = r.ToString();
		//    foreach(var ing in r.Ingredients)
		//        Assert.IsTrue(s.Contains(ing.title));
		//}

		
		//[TestMethod]
		//public void ToXML_Recipe3_GeneratesProperTitleString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe3.xml");
		//    var s = r.ToXML();
		//    Assert.IsTrue(s.Contains("<title>" + r.Title + "</title>"));
		//}



		//#endregion Recipe3

		//#region Recipe4

		//[TestMethod]
		//public void LoadFromFile_Recipe4_LoadsTitle()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    Assert.AreEqual<string>(r.Title, "'gimme Both' Pumpkin-Pecan Pie W/bourbon Whipped Cream");
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe4_LoadsTitleAndConvertsAmpersand()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    Assert.IsTrue(r.Title.Contains("&"));
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe4_LoadsCategories()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    Assert.AreEqual<int>(r.Categories.Count, 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe4_LoadsCategorieStrings()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    Assert.AreEqual<string>(r.Categories[0], "Pies & tart");
		//    Assert.AreEqual<string>(r.Categories[1], "To post");
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe4_LoadsYield()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    Assert.AreEqual<int>(r.Yield, 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe4_LoadsIngredients()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    Assert.AreEqual<int>(r.Ingredients.Count, 11);
		//}

		//[TestMethod]
		//public void LoadFromFile_Recipe4_LoadsSteps()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    Assert.AreEqual<int>(r.Steps.Count, 8);
		//}

		//[TestMethod]
		//public void ToString_Recipe4_GeneratesProperTitleString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    var s = r.ToString();
		//    Assert.IsTrue(s.Contains(r.Title));
		//}

		//[TestMethod]
		//public void ToString_Recipe4_GeneratesProperStepString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    var s = r.ToString();
		//    foreach(var step in r.Steps)
		//        Assert.IsTrue(s.Contains(step.Description));
		//}

		//[TestMethod]
		//public void ToString_Recipe4_GeneratesProperIngredientString()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    var s = r.ToString();
		//    foreach(var ing in r.Ingredients)
		//        Assert.IsTrue(s.Contains(ing.title));
		//}
		
		//[TestMethod]
		//public void ToXML_Recipe4_GeneratesProperTitleStringWithoutAmpersand()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\Recipe4.xml");
		//    var s = r.ToXML();
		//    Assert.IsFalse(s.Contains("&"));
		//    Assert.IsTrue(s.Contains("&amp;"));
		//}



		//#endregion Recipe4

		//#region REcipeDupliateIngredients

		//[TestMethod]
		//public void LoadFromFile_RecipeDuplicateIngredients_LoadsProperNumIngredients()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeDuplicateIngredients.xml");
		//    Assert.AreEqual<int>(r.Ingredients.Count(), 3);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeDuplicateIngredients_LoadsProperNumEggs()
		//{
		//    //replace following line with test that ensures 6 eggs are found
		//    Assert.Fail();
		//}


		//#endregion REcipeDupliateIngredients

		//#region RecipeDuplicateSteps

		//[TestMethod]
		//public void LoadFromFile_RecipeDuplicateSteps_LoadsProperNumSteps()
		//{
		//    //duplicate steps should not be merged - keep them as separate steps
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeDuplicateSteps.xml");
		//    Assert.AreEqual<int>(r.Steps.Count(), 3);
		//}

		//#endregion RecipeDuplicateSteps

		//#region RecipeEmpty

		//[TestMethod]
		//public void LoadFromFile_RecipeEmpty_LoadsProperNumSteps()
		//{
		//    //Empty XML file should still return valid recipe, just with empty ingredients, steps, etc.
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeEmpty.xml");
		//    Assert.AreEqual<int>(r.Steps.Count(), 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeEmpty_LoadsProperIngredients()
		//{
		//    //Empty XML file should still return valid recipe, just with empty ingredients, steps, etc.
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeEmpty.xml");
		//    Assert.AreEqual<int>(r.Ingredients.Count(), 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeEmpty_LoadsProperCategoriess()
		//{
		//    //Empty XML file should still return valid recipe, just with empty ingredients, steps, etc.
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeEmpty.xml");
		//    Assert.AreEqual<int>(r.Categories.Count(), 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeEmpty_LoadsProperTitle()
		//{
		//    //Empty XML file should still return valid recipe, just with empty ingredients, steps, etc.
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeEmpty.xml");
		//    Assert.IsTrue(string.IsNullOrEmpty(r.Title));
		//}

		//#endregion RecipeDuplicateSteps

		//#region RecipeHTMLCharacters

		//[TestMethod]
		//public void LoadFromFile_RecipeHTMLCharacters_TranslatesQuote()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeHTMLCharacters.xml");
		//    Assert.IsTrue(r.Steps[0].Description.Contains("( \" )"));
		//}


		//[TestMethod]
		//public void LoadFromFile_RecipeHTMLCharacters_TranslatesAmpersand()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeHTMLCharacters.xml");
		//    Assert.IsTrue(r.Steps[1].Description.Contains("( & )"));
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeHTMLCharacters_TranslatesGreaterThan()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeHTMLCharacters.xml");
		//    Assert.IsTrue(r.Steps[2].Description.Contains("( > )"));
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeHTMLCharacters_TranslatesLessThan()
		//{
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeHTMLCharacters.xml");
		//    Assert.IsTrue(r.Steps[3].Description.Contains("( < )"));
		//}

		//#endregion RecipeHTMLCharacters

		//#region RecipeInvalidCharacters

		//[TestMethod]
		//public void LoadFromFile_RecipeInvalidCharacters_LoadsProperNumSteps()
		//{
		//    //invalid characters should be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeInvalidCharacters.xml");
		//    Assert.AreEqual<int>(r.Steps.Count(), 1);
		//}

		//#endregion RecipeInvalidCharacters

		//#region RecipeMissingDirections

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingDirections_LoadsProperNumIngredients()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingDirections.xml");
		//    Assert.IsTrue(r.Ingredients.Count() == 10);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingDirections_LoadsTitle()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingDirections.xml");
		//    Assert.AreEqual(r.Title, "RecipeMissingDirections");
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingDirections_LoadsProperYield()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingDirections.xml");
		//    Assert.AreEqual<int>(r.Yield, 8);
		//}

		//#endregion RecipeMissingDirections

		//#region RecipeMissingHeader

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingHeader_LoadsProperNumIngredients()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingHeader.xml");
		//    Assert.IsTrue(r.Ingredients.Count() == 7);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingHeader_LoadsProperNumSteps()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingHeader.xml");
		//    Assert.IsTrue(r.Steps.Count() == 2);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingHeader_LoadsProperYield()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingHeader.xml");
		//    Assert.AreEqual<int>(r.Yield, 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingHeader_LoadsTitle()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingHeader.xml");
		//    Assert.IsTrue(string.IsNullOrEmpty(r.Title));
		//}


		//#endregion RecipeMissingDirections

		//#region RecipeMissingIngredients

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingIngredients_LoadsProperNumIngredients()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingIngredients.xml");
		//    Assert.IsTrue(r.Ingredients.Count() == 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingIngredients_LoadsProperNumSteps()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingIngredients.xml");
		//    Assert.IsTrue(r.Steps.Count() == 5);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingIngredients_LoadsProperYield()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingIngredients.xml");
		//    Assert.AreEqual<int>(r.Yield, 0);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeMissingIngredients_LoadsTitle()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeMissingIngredients.xml");
		//    Assert.AreEqual(r.Title, "RecipeMissingIngredients");
		//}


		//#endregion RecipeMissingIngredients

		//#region RecipeOneIngredientOneStep

		//[TestMethod]
		//public void LoadFromFile_RecipeOneIngredientOneStep_LoadsProperNumIngredients()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeOneIngredientOneStep.xml");
		//    Assert.IsTrue(r.Ingredients.Count() == 1);
		//}

		//[TestMethod]
		//public void LoadFromFile_RecipeOneIngredientOneStep_LoadsProperNumSteps()
		//{
		//    //missing Directions nodes should still be read properly
		//    var r = new Recipe();
		//    r.LoadFromFile(@"..\..\..\RecipeML.Test\TestData\RecipeOneIngredientOneStep.xml");
		//    Assert.IsTrue(r.Steps.Count() == 1);
		//}


		//#endregion RecipeOneIngredientOneStep

	}
}
